1. Field of the Invention
The present invention relates generally to Remote User Interfaces (RUIs), and more particularly, to a method and apparatus for controlling access to resources of an RUI server in an RUI service in which an RUI server provides RUIs and RUI clients control remote devices using the RUIs.
2. Description of the Related Art
Extensive research to improve home network technology is being conducted by many industrial standard organizations such as Digital Living Network Alliance (DLNA), Home Audio-Video interoperability (HAVi), and Universal Plug and Play (UPnP). In such home networks, an RUI technology may be used in order to enable one device to control functions of other devices. In the RUI technology that is based on client-server architecture, an RUI client fetches a User Interface (UI) from an RUI server and allows a user to control the RUI server through the UI in the RUI client.
Consumer Electronics Association (CEA)-2014, a standard for RUI, defines a protocol and a framework for RUI in a UPnP network and the Internet. According to CEA-2014, a UPnP device (or RUI server) provides user interfaces in a Consumer Electronics-Hypertext Markup Language (CE-HTML) type of web page, and a user may remotely control applications of the UPnP device through the web page. CE-HTML, a special version of HTML, is based on eXtensible Hyper Text Markup Language (XHTML).
FIG. 1 illustrates a method in which an RUI server and an RUI client communicate based on the CEA-2014 standard. Discovering an RUI server 20 should be performed first in order to use RUIs in a home network. CEA-2014 discovers the RUI server 20 through a UPnP discovery process since it is based on a UPnP network. Although an RUE client 10 and a Control Point (CP) 30 are separately shown in FIG. 1, if the UPnP CP 30 is embedded in the RUI client 10, the RUI client 10 may directly discover the RUI server 20. If the RUI client 10 has no CP 30 and a separate CP 30 intends to send a UI of the RUI server 20 to the RUI client 10, the CP 30 may discover even the RUI client 10 through UPnP discovery.
After the discovery process is completed, the RUI client 10 acquires an RUI page referring to a Uniform Resource Locator (URL) where the RUI page exists, which is included in a UPnP Device Description. More specifically, an XHTML browser of the RUI client 10 sends a request for an RUI page to a web server in the RUI server 20. Since the RUI page is composed so as to control applications of the RUI server 20, the RUI client 10 controls the applications of the RUI server 20 using the RUI page. The method in which the RUI server 20 and the RUI client 10 communicate according to the prior art is disclosed in detail in the CEA-2104 standard, so a description thereof is omitted herein for the sake of conciseness.
In this manner, the conventional RUI service is based on the general Web server—HTML browser architecture. The general Web server merely returns the page requested by the browser, without managing access to specific resources. As such, the Web server cannot manage access by clients, since it has no information as to whether a certain browser is terminated after it has requested a page.
However, when the Web server controls a function of the RUI server 20 using provided information, i.e., an RUI page, rather than simply providing the information to clients as in CEA-2014, the Web server needs to control access to resources by the RUI client 10. This is necessary because device collision can occur when a user controls a device, and other users can control the same device.
For example, in some instances when one client is using resources such as a tuner control or a phone line, there is a need to prevent other clients from accessing the same resources or application resources.
As another example, as shown in FIG. 2 if an RUI client A 11 acquires an RUI page from an RUI server 20 in step 41 and then sends a record request for a broadcast program received over a particular channel in step 43, the RUI server 20 records the broadcast program. Meanwhile, an RUI client B 12 may acquire the RUI page from the RUI server 20 in step 51, and then send a record cancel request for the broadcast program to the RUI server 20 through the acquired RUI page in step 53. However, collision may occur if the RUI client A 11 wants to keep, the recording.
When a connection or session between the RUI client 10 and the RUI server 20 is managed to solve these and other problems in FIG. 1, a database for managing connections of individual users is separately provided in the Web server (not shown). Alternatively, the RUI client 10 may use a separate plug-in program such as well-known active X for each individual application since Consumer Electronics (CE) devices generally use an embedded plug-in program and various Operation Systems (OSs) and their resources are insufficient, however, the embedded plug-in program may not be freely installed.